/*

@ Philip Russell, Micah Wendell
*/

program Test1 {
    entrypoint main = Main.main;
}

component Main {
    
    //Raw
    method m1(a : 10, b : 22) : void {
    	local array : int[] = {1,2,3,4};
    	m2(array);
    	return;
    }
    
    //Array
    method m2(intArray : int[]) : void {
    	local o : Object = new Object();
    	m3(o);
    	return;
    }
    
    //Reference
    method m3(object : Object) : void {
    	object.id = 3;
    	return;
    }
    
    method main(args: char[][]): void {
    	m1(0xA, 0xA);    	
		return;
    }
}

class Object {
	field id : int;
}

